package com.ai.aichat.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 用户设置表
 * </p>
 *
 * @author baomidou
 * @since 2025-09-16
 */
@Data
@TableName("user_settings")
@ApiModel(value = "UserSettings对象", description = "用户设置表")
public class UserSettings implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 设置ID
     */
    @ApiModelProperty("设置ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 用户ID
     */
    @ApiModelProperty("用户ID")
    private Long userId;

    /**
     * 界面语言
     */
    @ApiModelProperty("界面语言")
    private String language;

    /**
     * 主题模式
     */
    @ApiModelProperty("主题模式")
    private String theme;

    /**
     * 字体大小(px)
     */
    @ApiModelProperty("字体大小(px)")
    private Byte fontSize;

    /**
     * 紧凑模式：0-关闭，1-开启
     */
    @ApiModelProperty("紧凑模式：0-关闭，1-开启")
    private Boolean compactMode;

    /**
     * 自动保存：0-关闭，1-开启
     */
    @ApiModelProperty("自动保存：0-关闭，1-开启")
    private Boolean autoSave;

    /**
     * 启动行为
     */
    @ApiModelProperty("启动行为")
    private String startupBehavior;

    /**
     * 默认AI模型
     */
    @ApiModelProperty("默认AI模型")
    private String defaultModel;

    /**
     * 回复长度偏好
     */
    @ApiModelProperty("回复长度偏好")
    private String responseLength;

    /**
     * 发送快捷键
     */
    @ApiModelProperty("发送快捷键")
    private String sendShortcut;

    /**
     * 数据收集同意：0-拒绝，1-同意
     */
    @ApiModelProperty("数据收集同意：0-拒绝，1-同意")
    private Boolean dataCollection;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    @ApiModelProperty("更新时间")
    private LocalDateTime updatedAt;
}
